package de.fhl.subWahlListen;

/**
 * Ueberschrift:  OnlineWahl
 * Copyright:     Copyright (c) 2010 
 * Organisation:  FH Luebeck - Virtuelle FH
 */

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Observable;

/**
 * Die Klasse Suche Erstimme extrahiert die Kandidaten aus der Wahlliste<br>
 * 
 * @author Achim Krumrein (krumreia@stud.fh-luebeck.de)
 * @author Thomas Weber (webertho@googlemail.de)
 * @version 1.0
 */
public class SucheErststimme extends Observable {

	List<String> wahlList = new ArrayList<String>();
	private int wahlkreis;
	private String erstStimme;

	public SucheErststimme() {

	}

	public SucheErststimme(int wk) {
		this.wahlkreis = wk;
	}

	public String wahlList(int wahlkreis, String partei) {

		readWahlListFile(wahlkreis);
		Iterator<String> it = wahlList.iterator();
		while (it.hasNext()) {
			String string = (String) it.next();
			// System.out.println(string);
			String[] sa = string.split(";");
			String p = sa[1].toString().trim();
			if (p.equals(partei)) {
				// setErststimme(string);
				erstStimme = string;
				// return erstStimme;
			}
		}
		//System.out.println(erstStimme);
		return erstStimme;
	}

	public void readWahlListFile(int wahlkreis) {
		BufferedReader br = null;
		String text = null;
		try {
			br = new BufferedReader(new FileReader("Doc/Wahlliste.txt"));
			while ((text = br.readLine()) != null) {
				String[] sa = text.split(";");
				if (String.valueOf(wahlkreis).equals(sa[0])) {
					wahlList.add(text);
				}
			}
			br.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException ioe) {
			ioe.printStackTrace();
		} finally {
		}
	}

	public void setErststimme(String es) {
		erstStimme = es;
		System.out.println("Erststimme: " + erstStimme);
		setChanged();
		notifyObservers();
	}

	public String get() {
		return erstStimme;
	}
}
